gradient shaders: Reduce out values as well
authorTimm Bäder <mail@baedert.org>
Sat, 26 Sep 2020 06:43:36 +0000 (08:43 +0200)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 6 Oct 2020 00:35:34 +0000 (20:35 -0400)
We only do 6 color stops here now. Also works around a driver bug.

Fixes #3196

gsk/resources/glsl/linear_gradient.glsl
gsk/resources/glsl/radial_gradient.glsl

index 180955ee75ad692e15470f13664775780b60a3c9..588d9ec7440b04a7f8e49665aa096e55a0efcb9d 100644 (file)
@@ -9,8 +9,8 @@ _OUT_ vec2 endPoint;
 _OUT_ float maxDist;
 _OUT_ vec2 gradient;
 _OUT_ float gradientLength;
-_OUT_ vec4 color_stops[8];
-_OUT_ float color_offsets[8];
+_OUT_ vec4 color_stops[6];
+_OUT_ float color_offsets[6];
 
 void main() {
   gl_Position = u_projection * u_modelview * vec4(aPosition, 0.0, 1.0);
@@ -44,8 +44,8 @@ _IN_ vec2 endPoint;
 _IN_ float maxDist;
 _IN_ vec2 gradient;
 _IN_ float gradientLength;
-_IN_ vec4 color_stops[8];
-_IN_ float color_offsets[8];
+_IN_ vec4 color_stops[6];
+_IN_ float color_offsets[6];
 
 void main() {
   // Position relative to startPoint
index 97ee2c31f5ddbbd9c9f3968aef1f38f7c8f87450..178806f83c89d6533da451371c44e8182aba485c 100644 (file)
@@ -7,8 +7,8 @@ uniform vec2 u_radius;
 uniform vec2 u_center;
 
 _OUT_ vec2 center;
-_OUT_ vec4 color_stops[8];
-_OUT_ float color_offsets[8];
+_OUT_ vec4 color_stops[6];
+_OUT_ float color_offsets[6];
 _OUT_ float start;
 _OUT_ float end;
 
@@ -39,8 +39,8 @@ uniform vec2 u_radius;
 uniform float u_end;
 
 _IN_ vec2 center;
-_IN_ vec4 color_stops[8];
-_IN_ float color_offsets[8];
+_IN_ vec4 color_stops[6];
+_IN_ float color_offsets[6];
 _IN_ float start;
 _IN_ float end;